package cn.lili.modules.share.service;

import cn.lili.modules.share.entity.docs.AppUser;
import cn.lili.modules.share.entity.dto.AppUserDTO;
import cn.lili.modules.share.entity.dto.AppUserStatistics;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.pojos.OpenAppUser;

/**
 * <p>
 * 服务类
 * </p>
 *
 * @author admin
 * @since 2024-03-21
 */
public interface AppUserService extends IService<AppUser> {

    /**
     * 根据openid查询AppUser
     * @param openId
     * @return
     */
    AppUser selectAppUserByOpenId(String openId);

    /**
     * 根据parentOpenId保存或更新appUser
     * @param parentOpenId
     * @return
     */
    int updateOrSaveLowerTuiguang(String parentOpenId);

    /**
     * 保存注册用户的信息
     *
     * @param openAppUser
     * @return
     */
    int saveAppUser(OpenAppUser openAppUser);

    /**
     * 我的邀请列表
     * @return
     */
    Page<AppUser> myInviteList(AppUserDTO appUserDTO);

    /**
     * 我的排名
     * @param appUserDTO
     * @return
     */
    AppUserStatistics myRanking(AppUserDTO appUserDTO);

    /**
     * 我的邀请统计
     * @param dto
     * @return
     */
    AppUserStatistics myInviteStatistics(AppUserDTO dto);

    /**
     * 更新用户首次购买标识
     * @param openid
     * @return
     */
    int updateAppUserIsTureByOpenId(String openid);
}
